1. Field of the Invention
The present invention relates to computer networks and in particular to communication devices by way of which computers are connected together to form such networks.
2. The Prior Art
It is well known to form computer networks comprising a number of computers connected together to enable them to communicate with each other. One well known way of connecting computers together is to provide communication devices having a plurality of ports, to each of which a computing device may be connected. The communication device provides for redistribution of communications received on its ports to the computing devices connected to the other ports.
One particular type of communications device is a repeater. A repeater simply retransmits any communication received on any port to each of its other ports thereby ensuring that each of the computing devices connected to the network receive all communications, enabling them to decide whether the communication is intended for them or not. Other types of communication devices include devices known as bridges, which contain some processing capacity so that packets should only be retransmitted on ports necessary to enable those packets to reach their intended destinations. The present invention is applicable to all these types of communication devices but will be described in the context of bridges.
In a practical implementation, a bridge is generally contained in an enclosure or box, which also carries the external connections or ports to which the computing devices forming the network can be connected. For example there may be eight, sixteen or twenty-four ports provided on the device and the bridge is formed in a known manner on a circuit board also including the necessary management processing power to enable the bridge to function as intended.
More recently, it has been recognized as desirable to enable the connection of two or more such devices together to increase the number of ports available at a particular location. This is commonly referred to as connecting the devices in a stack or cascade connection of the devices. Advantages of cascade connection of communication devices include the possibility of upgrading existing equipment to provide a greater number of ports without having to discard the existing equipment, and the provision of more ports in a particular location than may be available on a standard piece of equipment.
Cascade connection between communication devices is typically achieved by providing a cascade or backbone link between the stacked devices. This connection may be made by way of one or two of the ports already provided on the devices for connection to computing devices in the network, alternatively there may be a separate port especially provided for the cascade link. It will be appreciated that, in the basic operation of a repeater, all communications received on any port by one of the devices in the stack will be repeated to the cascade connection in addition to the other ports thereby enabling it to be received by the other devices in the stack and repeated on out of the other ports on those devices. In a bridge arrangement, a received communication is transmitted via the cascade connection if this is necessary to enable the communication to reach its intended destination.
However, other functions that have been provided within a single communications device present certain difficulties for implementation in a stack. In particular, it has been known to implement a feature known as xe2x80x9cTrunkingxe2x80x9d. In trunking, a single computing device is connected to a communication device, such as a bridge, using a plurality of connections to a corresponding plurality of ports. The advantage of doing this is that it increases the bandwidth available for communication by the computing device concerned and there is some resilience in the connection; that is, a fault may develop on one of the connections between the computing device and the device but this would not totally disconnect the computing device from the network.
In a simple implementation of a communication device such a dual connection to a communication device would cause port mismatch errors generated when a device receives communications from the same computing device on different ports, which obviously would not occur in the simple implementation of each computer being connected to a single port. The occurrence of such errors can be dealt with within a single device in which the management in the device can associate two or more ports together as a single trunk connection from which it expects communications from a single computing device.
When a stack of communicating devices is provided it may be the case that the two or more connections forming a trunk from a particular computing device may not all be connected to the same physical device in the stack. This may simply be because a user of a network treats the stack of devices as a single entity to which connections can be made freely as in the case of a single device. Further however it is advantageous to be able to connect the different connections forming a trunk to separate physical devices as this provides further resilience in the connection, enabling one of the communication devices to fail without disconnecting the trunked device from the network altogether.
If a trunk is simply connected in this way with the different connections forming the trunk connected to different boxes in the stack each box will potentially receive communications packets from the trunked device both via their own direct connection to that device and via the cascade port. Within the management provided in each box it is not possible simply to define the cascade port as one of the ports included in the trunk because the cascade port will actually carry communications from a large number of different communication devices connected to the stack overall. It is not necessarily the case therefore that all communications appearing on the cascade connection will be part of the trunk, and if the cascade port were simply defined as part of the trunk, port mismatch errors would be generated when communications from other sources were received.
The present invention provides communications apparatus for a computer network in which a plurality of network devices are enabled to communicate with each other, the apparatus comprising:
a plurality of communication devices each having a plurality of ports via which network communications may be received and transmitted and a communication core means arranged to re-transmit network communications received at said ports according to a defined functionality; and
interconnection means arranged to interconnect said communication devices such that network communications received at each communication device may be transmitted to the or each other communication device;
each said communication device comprising management means arranged to transmit, together with each network communication transmitted to said interconnection means, an indication of whether said network communication has been received at a port which has a predetermined relationship with a port in another communication device, and to read said indications received together with network communications received from said interconnection means.
In a preferred embodiment the predetermined relationship is that ports form a trunk and thus the invention enables efficient implementation in a stack of communication devices of trunking which has previously been implemented within a single communications device, as discussed above.
To achieve this, the apparatus and method of the present invention uses a protocol for communications on the cascade connection different from that used in the network as a whole. In particular, communications packets sent via the cascade connection have one or more bits added to them, which extra bits convey information about the packet being transmitted from one communication device in the stack to another. On receipt of a communications packet via the cascade connection, a communication device act on the information provided and will remove the extra bits before retransmission onto the rest of the network to ensure compliance with the overall network protocol.
In the context of trunking as discussed above, the present invention can provide trunking via ports on different boxes within their stack by including with a packet, when it is transmitted on the cascade connection, an indication of which trunk the packet came from, enabling the other communication devices in the stack to take account of this.